
package com.jf.cloud.im.mapper;

import com.jf.cloud.im.model.ImMsgBizUser;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 用户最近聊天记录表
 *
 * @author zz
 * @date 2021-08-25 13:58:56
 */
public interface ImMsgBizUserMapper {

    /**
     * 获取用户最近聊天记录表列表
     * @return 用户最近聊天记录表列表
     */
    List<ImMsgBizUser> list();

    /**
     * 获取用户最近聊天记录表列表
     * @param sendType 发送类型
     * @param bizId 商家或平台id
     * @return 用户最近聊天记录表列表
     */
    List<ImMsgBizUser> listBySendTypeAndBizId(@Param("sendType") Integer sendType, @Param("bizId") Long bizId);

    /**
     * 获取用户最近聊天记录表列表
     * @param userId 用户id
     * @return 用户最近聊天记录表列表
     */
    List<ImMsgBizUser> listByUserId(@Param("userId") Long userId);

    /**
     * 根据用户最近聊天记录表id获取用户最近聊天记录表
     *
     * @param id 用户最近聊天记录表id
     * @return 用户最近聊天记录表
     */
    ImMsgBizUser getById(@Param("id") Long id);

    /**
     * 获取用户最近聊天记录表
     * @param sendType 发送类型
     * @param bizId 商家或平台id
     * @param userId 用户id
     * @return 用户最近聊天记录表
     */
    ImMsgBizUser getBySendTypeAndBizIdAndUserId(@Param("sendType") Integer sendType, @Param("bizId") Long bizId, @Param("userId") Long userId);

    /**
     * 保存用户最近聊天记录表
     * @param imMsgBizUser 用户最近聊天记录表
     */
    void save(@Param("imMsgBizUser") ImMsgBizUser imMsgBizUser);

    /**
     * 更新用户最近聊天记录表
     * @param imMsgBizUser 用户最近聊天记录表
     */
    void update(@Param("imMsgBizUser") ImMsgBizUser imMsgBizUser);

    /**
     * 根据用户最近聊天记录表id删除用户最近聊天记录表
     * @param id 消息id
     */
    void deleteById(@Param("id") Long id);
}
